package com.hyt.it.ogt.kq.service.bm.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hyt.it.ogt.kq.service.bm.model.entity.Invoice;
import com.hyt.it.ogt.kq.service.bm.model.vo.*;
import com.hyt.model.PageParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 发票详细信息表 Mapper 接口
 * </p>
 *
 * @author liteng
 * @since 2020-08-28
 */
public interface InvoiceMapper extends BaseMapper<Invoice> {

     IPage<InvoiceVo> queryInvoiceProject(PageParam<InvoiceVo> pageParam, InvoiceParam param);

     IPage<InvoiceVo> queryInvoice(@Param("param") InvoiceParam param);

     List<Map<String, Object>> queryInvoiceMap(InvoiceParam param);

     IPage<InvoiceApplyVo> queryApplyPage(PageParam<InvoiceApplyVo> pageParam, InvoiceApplyParam param);

     List<InvoiceSaveVo> queryInvoiceByIds(@Param("invoiceIds") List<String> invoiceIds);

     List<InvoiceApplyVo> queryOrderDetail(@Param("invoiceId")String invoiceId);

     InvoiceStatVo queryStudentInvoice(@Param("studentId")String studentId,@Param("projectId")String projectId);

     List<Invoice> queryMidInvoice(@Param("orderIds")String orderIds);
}
